package com.yunxi.core.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;

import java.lang.reflect.InvocationTargetException;
import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * @version <1.0>
 * @Company <RUIYI SOFTWARE Co.,LTD.>
 * @Author <guan>
 * @Date <2018/10/29>
 * @description <//todo>
 */
public interface IServicePlus<T> extends IService<T> {
    void removeByListVo(List idList) throws IllegalAccessException, InstantiationException, InvocationTargetException;

    void removeByList(Collection<T> idList);

    PageInfo pageByMap(Map<String, Object> map);

    List listBy(Map<String, Object> map);

    Object getByMap(Map<String, Object> map);

    PageInfo pageByVo(Object vo, Integer pageNum, Integer pageSize);

    List listByVo(Object vo);

    Object getByVo(Object vo);

    void updateByListVo(List idList) throws IllegalAccessException, InstantiationException, InvocationTargetException;

}
